#ifndef PCFILESYSTEM_H
#define PCFILESYSTEM_H

#include "IO/IFileSystem.h"

namespace tyro
{
	namespace IO
	{
		class PCFileSystem : public IFileSystem
		{

		public:
			IFile* Open(const char* fileName, bool read) const ;
			unsigned int Read(IFile* file, char*& buffer, unsigned int bytesToRead, bool allocate) const ;
			unsigned int Write(IFile* file, char*& buffer, unsigned int bytesToWrite)const ;
			void Close(IFile* file) const ;

			bool Create(const char* const fileName) const;
			bool Delete(const char* const fileName) const;
			bool Append(const char* fileName, const char* const text, ...) const;
			bool Exists(const char* const fileName) const;
		
			UINT_32 GetFileLength(const char* const fileName) const;
		};
	}
}

#endif